package com.ruoyi.monitor.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 监控视频对象 monitor_video
 * 
 * @author ruoyi
 * @date 2025-04-16
 */
public class MonitorVideo extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private Integer videoId;

    /** 所属设备ID */
    @Excel(name = "所属设备ID")
    private Integer deviceId;

    /** 存储路径 */
    @Excel(name = "存储路径")
    private String filePath;

    /** 原始文件名 */
    @Excel(name = "原始文件名")
    private String fileName;

    /** 视频起始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "视频起始时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date startTime;

    /** 视频结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "视频结束时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date endTime;

    /** 文件大小（MB） */
    @Excel(name = "文件大小", readConverterExp = "M=B")
    private BigDecimal fileSize;

    /** 状态 */
    @Excel(name = "状态")
    private String status;

    public void setVideoId(Integer videoId) 
    {
        this.videoId = videoId;
    }

    public Integer getVideoId() 
    {
        return videoId;
    }

    public void setDeviceId(Integer deviceId) 
    {
        this.deviceId = deviceId;
    }

    public Integer getDeviceId() 
    {
        return deviceId;
    }

    public void setFilePath(String filePath) 
    {
        this.filePath = filePath;
    }

    public String getFilePath() 
    {
        return filePath;
    }

    public void setFileName(String fileName) 
    {
        this.fileName = fileName;
    }

    public String getFileName() 
    {
        return fileName;
    }

    public void setStartTime(Date startTime) 
    {
        this.startTime = startTime;
    }

    public Date getStartTime() 
    {
        return startTime;
    }

    public void setEndTime(Date endTime) 
    {
        this.endTime = endTime;
    }

    public Date getEndTime() 
    {
        return endTime;
    }

    public void setFileSize(BigDecimal fileSize) 
    {
        this.fileSize = fileSize;
    }

    public BigDecimal getFileSize() 
    {
        return fileSize;
    }

    public void setStatus(String status) 
    {
        this.status = status;
    }

    public String getStatus() 
    {
        return status;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("videoId", getVideoId())
            .append("deviceId", getDeviceId())
            .append("filePath", getFilePath())
            .append("fileName", getFileName())
            .append("startTime", getStartTime())
            .append("endTime", getEndTime())
            .append("fileSize", getFileSize())
            .append("status", getStatus())
            .append("createTime", getCreateTime())
            .toString();
    }
}
